Method and system for timed event evaluation

ABSTRACT

A timing unit and method useable with a computer and user input includes a circuit and a timer. The timer establishes a reference signal having periodic occurrence and receives a trigger signal from the user input. The circuit generates information that represents the periodic occurrences of the reference signal and response timing data representing a relationship between the trigger signal and one of the occurrences. A communication channel is provided between the circuit and the computer.

CROSS REFERENCE TO RELATED APPLICATION

The present application is a continuation of U.S. patent applicationSer. No. 14/714,464, filed May 18, 2015, which claims priority from U.S.provisional patent application Ser. No. 62/005,370, filed May 30, 2014,the disclosure of which is hereby incorporated herein by reference inits entirety.

BACKGROUND OF THE INVENTION

The present invention is directed to evaluating timed events and, inparticular, to measuring a human's ability to rhythmically stay on abeat. While the invention is illustrated for use in carrying out atechnique for improving neurological functionality, it may have otherapplications as well.

Generating a rhythmic beat and measuring a human response in attemptingto clap hands or stomp a foot in synchronism with the beat is difficult.Time beat generation and response time measuring should be achieved tosub-millisecond accuracy. Current computing devices, such as laptop andtablet computers, Smartphones, and the like, build in too much latencyin generating output signals and responding to input signals. Whilespecialized hardware circuits perform better than programmed computers,they still introduce bias which is variable and, therefore, difficult tocompensate for. Moreover, specialized hardware circuits tend to beinflexible and prone to frequent configuration changes that need to beback-fitted in the field.

SUMMARY OF THE INVENTION

The present invention provides a solution to the difficulty ofaccurately measuring “response timing”. Response timing, as used herein,is the human ability to maintain a rhythmic and synchronized beat over aperiod of time. Research has linked this rhythmic ability to a person'slanguage skills, working memory, auditory processing and otherneurological skills. Response timing may be measured by presenting areference signal, or beat, to a human and obtaining a trigger responsefrom the user that represents the user's anticipation of the occurrenceof the reference signal along with generation of a guidance signal thatis presented to the user for the purpose of guiding the user intosynchronism with the reference signal. Such techniques require veryprecise time measurements that greatly exceed the capability of presentcommercially available computing units, such as laptop computers, tabletcomputers, cell phones, and the like. The present invention is embodiedin a system that is capable of such accurate timing while providingexceptional flexibility in adaptation to various applications withoutthe need to supply various versions of the hardware.

A timing unit and method useable with a computer and user input,according to an aspect of the invention, includes a circuit and a timer.The timer establishes a reference signal having periodic occurrence andreceives a trigger signal from the user input. The circuit generatesinformation that represents the periodic occurrences of the referencesignal and response timing data representing a relationship between thetrigger signal and one of the occurrences. A communication channel isprovided between the circuit and the computer.

A timed event evaluation system and method, according to an aspect ofthe invention, includes a timing unit in combination with a computingunit having an audible and a visual output. The timing unit has acircuit that responds to a user input. The circuit defines a timer. Thetimer establishes a reference signal having periodic occurrences andreceives a trigger signal from the user input. The circuit suppliesinformation that represents the periodic occurrences of the referencesignal and response timing data representing a relationship between eachtrigger signal and one of the occurrences. The computing unit receivesinformation from the timing unit and provides the occurrences of thereference signal to the user with the audible output and provides therelationship between the reference signal and the trigger signal to theuser with the audible output and/or the visual output.

A timing unit that is useable with a user input, according to an aspectof the invention, includes a timer and a circuit. The circuit isresponsive to the timer to establish a reference signal having periodicoccurrences and receives a trigger signal from the user input. Thecircuit runs a program and has an interrupt generator. The interruptgenerator is responsive to the user input to interrupt the program inresponse to operation of the user input and to record a value of thetimer when the trigger signal occurs. The circuit formats responsetiming data representing a relationship between the timer when the userinput occurs and one of the occurrences. The response timing data may beprovided to a computer that produces an output to the user. The outputmay be audible and/or visual. The circuit may further include anotherinterrupt generator that is responsive to the timer and interrupts theprogram after the passage of a defined period of time. The circuitformats an occurrence of a reference signal in response to the anotherinterrupt generator. The data representing the occurrence of thereference signal may be provided to the computer that produces anaudible tone, such as a “beat” to the user.

A method of generating response timing data representing a relationshipbetween a time when a user operation of a user input occurs and anoccurrence of a reference signal using a circuit operating a program,the time representing an output of a timer when the user operates theuser input, according to an aspect of the invention, includes receivinga trigger signal with the circuit from the user operation of the userinput and interrupting the program in response to the trigger signal.The circuit records a value of the time output when the user inputoccurs. The circuit formats response timing data representing arelationship between the time output when the trigger signal occurs andone of the occurrences of the reference signal and provides the responsetiming data. The method may further include generating an occurrence ofthe reference signal with the circuit in response to the time output ofthe timer including interrupting the program in response to passage of aparticular interval of time generated with the time output. The circuitformats data representing an occurrence of a reference signal as thevalue of the time output at the passage of the particular time interval.

These and other objects, advantages and features of this invention willbecome apparent upon review of the following specification inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a timed event evaluation system accordingto an embodiment of the invention;

FIG. 2 is a block diagram of a process carried out by the timing unit;

FIG. 3 is a perspective view of a timing unit;

FIG. 3a is a side elevation of the timing unit in FIG. 3;

FIG. 4 is a block diagram of the electrical schematic of the system inFIG. 1;

FIG. 5 is a flow chart of an administrative program run by the timingunit;

FIG. 6 is a flow chart of a timer loop program run by the timing unit;

FIG. 7 is a time chart of the timer;

FIG. 8 is an exploded perspective view of a mechanical assembly of thetiming unit;

FIG. 9 is a data packet diagram;

FIG. 10 is a communication handshake between the timing unit and thehost computing unit; and

FIGS. 11a-11c are a table illustrating data flow between the timing unitand the host computing unit.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the drawings and the illustrative embodiments depictedtherein, a timed event evaluation system 20 includes a timing unit 22, acomputing unit 24 and a communication channel 26 between the timing unitand the computing unit (FIG. 1). Timing unit 22 has a circuit 30 and auser input 32 (FIG. 4). Circuit 30 runs a program 46 and defines acommunication port 34 and a timer 36. Timer 36, which is in the form ofa programmed microprocessor 44 that is incorporated with circuit 30,generates a reference signal 38 having a periodic occurrence. Suchperiodic occurrence forms a “beat” to which the user, or patient,attempts to respond by operating input 32 in unison with occurrences ofthe reference signal, as disclosed in commonly assigned U.S. Pat. Nos.5,529,498 and 5,743,744, the disclosures of which are herebyincorporated herein by reference. Microprocessor 44 receives a triggersignal 40 from user input 32. Communication port 34 supplies information42 that represents the periodic occurrences of the reference signal aswell as a relationship between each trigger signal received from userinput 32 and one of the occurrences of the reference signal. Theinformation 42 supplied on communication port 34 is generated bymicroprocessor 44.

Referring now to FIG. 2, an interrupt generator process 10 is responsiveto the user input 32 to interrupt a program 46 at 11 in response tooperation of the user input and to record at 12 a value of timer 36 whenthe trigger signal occurs. Circuit 30 formats response timing datarepresenting a relationship between the timer when the user input occursand one of the occurrences. The response timing data may be provided tocomputing unit 24 which produces an output to the user, as will bediscussed in more detail below. The program 46 is resumed at 13. Process10 may further include another interrupt generator that is responsive totimer 36 and interrupts the program at 15 after the passage of a definedperiod of time as indicated at 14. The circuit formats an occurrence ofa reference signal at 16 in response to the another interrupt generator.The data representing the occurrence of the reference signal may beprovided to the computer that produces an audible tone, such as a “beat”to the user. Program 46 is resumed at 17.

Computing unit 24 has an audible output 50 and a visual output 52.Computing unit 24 receives the information supplied by communicationport 34 of timing unit 22. Computing unit 24 includes a user applicationprogram 62 that decodes the information 42 and provides occurrences ofthe reference signal to the user with audible output 50. Computing unit24 also provides the relationship between each trigger signal receivedfrom user input 32 and one of the occurrences of the reference signal.This relationship is supplied either in the form of audible data fromaudible output 50 and/or as video data from visual output 52. Audibleoutput 50 is supplied to one or more audio speakers, such stereophonicheadphones 56. Visual output 52 is in the form of a display device thatis supplied with computing unit 24. Computing unit 24 is a commerciallyavailable consumer device, such as a desktop personal computer or, morelikely, a portable consumer device, such as a laptop personal computer,a tablet computer, or a data (“smart”) cell phone.

Communication channel 26 supplies the information 42 from communicationport 34 of timing unit 22 to computing unit 24 and supplies control datafrom computing unit 24 that is used to control timing unit 22, as willbe discussed in more detail below. In the illustrated embodiment,communication channel 26 is a universal serial bus (USB). As is known inthe art, such USB channel is capable of supplying low voltage DC, suchas 5 VDC to provide electrical power to timing unit 22. Such low voltageDC is supplied via a power line 59 to a voltage regulator 58 of timingunit 22, which, in turn, supplies a regulated 3.3 VDC to microprocessor44 and other components of circuit 30. Although communication channel 26is illustrated as a hard-wired USB bus, at least some of its functionscould be performed by a wireless interface of the type that is known inthe art. Such additional wireless interfaces may include Bluetooth orother RF or IR communication techniques.

Information 42 is formatted into data packets 60 (FIG. 9.). As seen inFIG. 9, data packets 60 conform to protocol of the communication channelused and provide data that allows computing unit 24 to precisely supplythe reference signal to audible output 50 for presentation to the useras well as the relationship between each occurrence of the referencesignal and the operation of the user input 32. Computing unit 22 runs auser application program 62. User application program 62 controls themanner in which audible output 50 and/or visual output 52 presents tothe user the relationship between the occurrences of the referencesignal and operation of user input 32. For example, one particular videotheme may be used for sports applications and a different theme for atherapeutic neurological setting. Yet a different video theme may beused if the user is a young child. Thus, timed evaluation system 20 maybe customized to various applications depending upon the userapplication program 62 that is installed on computing unit 22. Computingunit 22 may be capable of downloading user application program 62 from awide area network, such as the Internet. In this manner, timedevaluation system 20 may utilize “cloud” storage as is known in the artto supply a particular application program that is chosen from among acatalog of programs 62 stored in cloud storage.

Timing unit 22 generates a product key 64, such as a particular datavalue, with communication port 34. Computing unit 24 received theproduct key 64 and responds to a particular value of the product key byrunning the user application program 62 if that version of the userapplication program corresponds to that particular value of the productkey. Thus, user application program 62 will function to present therelationship between the user operation of user input 32 and occurrenceof reference signal 38 if a correct match occurs between the value ofproduct key 64 and a version of user application program 62 stored atcomputing unit 24. Conversely, computing unit 24 responds to the absenceof a match between product key 64 and the version of application program62 by not running the user application program to present therelationship to the user. This use of timing unit 22 to generate productkey 64 allows the supplier of timing unit 22 to retain control of theuser application program 62 that will function with computing unit 24.In this manner, the supplier can supply one version of timing unit 22for a particular application, such as neurological therapy, and anotherversion of the timing unit for sports use merely by programming adifferent value of the product key into the timing unit, but withoutchanging hardware. Also, the supplier can make upgrades to userapplication programs 62 and save those upgrades to the Internet viacloud storage and thereby allow the user of timed evaluation system 20to download a current version of the application program thatcorresponds with the intended use of the system that corresponds to thevalue of product key 64. If communication channel 26 is wireless, theproduct key may be supplied via a solid-state storage device that isadapted for insertion in the USB port of computing unit 24. Also, with awireless communication channel 26, voltage regulator 58 will be suppliedvia batteries or other portable power source. Thus, the use of ahard-wired communication channel 26 supplies various functions thatwould have to be otherwise achieved if a wireless communication channelis used.

In addition to timing unit 22 supplying information 42 to computing unit24 that represents the periodic occurrences of the reference signal andthe relationship between the user operation of user input 32, computingunit 24 generates control data 66 that controls operation of timer 36 oftiming unit 22. Computing unit 24 communicates the control data 66 overcommunication channel 26. Control data 66 causes timing unit 22 toselectively start and stop timer 36. Control data 66 determines aboundary for performance difficulty. For example, each occurrence 80 ofthe reference signal is surrounded by “right on” or excellent intervals82 that define a time tolerance in which user operation of user input 32is deemed to be ideal (FIG. 7). An “early” and “late” interval 84, 86establish time intervals in which user operation of input 32 is eitherearlier, or later than right on interval 82, but not as early/late asvery early interval 88 or very late interval 90. Control data 66instructs timing unit 22 on the duration of each interval 82-90 and thushow accurate a user input must be to fall within a particular interval.The interval 82-90 in which a response falls determines the type ofsound produced by audible output 50 to help draw the user intosynchronism with occurrences of reference signal 38. As disclosed in theearlier-referenced commonly assigned patents, the sound produced byaudible output 50 is supplied to the user concurrently with the user'soperation of user input 32. In addition to supplying data as to theinterval in which a user input falls, information 42 supplies theresponse time differential between each beat and user response so that,for example, computing unit 24 can keep a cumulative response timedifferential for an exercise.

Timing unit 22 includes a housing 92 having housing portions 92 a, 92 bthat together house circuit 30 (FIGS. 2, 3 and 8). Relative motionbetween housing portions 92 a, 92 b operate user input 32. Circuit 30and user input 32, which is illustrated as a mechanical switch but couldalternatively be an electronic switch such as an accelerometer, or thelike, of the type known in the art, are on a common circuit board 94. Acover 96 protects circuit 30 and user input 32 and a leaf spring 98returns housing portions 92 a, 92 b to the non-actuated position foruser input 32. A strap (not shown) can be provided on one of housingportions 92 a, 92 b for attachment to a user's hand. In this manner,timing unit 22 can be a hand-trigger that includes all of theelectronics and mechanics to supply accurate timing information tocomputing unit 24. Alternatively, timing unit 22 can be a foot-triggerto monitor user input in the form of foot tapping. In this manner,accurate timing can be provided without requiring that computing unit 24be capable of accurately generating occurrences of a reference signaland accurately measuring user response to same.

Microprocessor 44 of timing unit 22 runs a main loop administrativealgorithm 100 (FIG. 5). Algorithm 100 starts at 102 by performing aninitialization routine 104 whenever power is applied to voltageregulator 58. A determination is made at 106 as to whether control data66 has been received and, if so, the data is parsed at 108. It is thendetermined at 110 whether the control data is to start timer 36 and, ifso, a start event 112 starts the timer. If not, then it is determined ifthe control data is to stop a running timer 36 and, if so, a stop event116 stops the timer. If not, it is determined at 118 whether the controldata is to establish the performance difficulty of the timing unit. Ifso, new timing parameters are set at 120 in order to set the widths oftime intervals 82-90. If not, then it is determined at 122 whether thecomputing unit is requesting a product key 64 be sent by the timing unitin order to determine the type of user application program 62 that thecomputing unit is entitled to run, or the like. If so, communicationport 34 sends a product key 64 to the computing unit at 124. If not,then it is determined at 126 whether the computing unit is requestingthe firmware version that is being run by microcomputer. If so, thencommunication port sends a message containing the firmware version beingrun by microprocessor 44 so that computing unit 24 can determine if alater version is available so that the firmware run by themicroprocessor should be updated. Computing unit 24 can download tomicroprocessor 44 updated firmware over communication channel 26 usingconventional techniques.

If it is determined at 126 that the computing unit has not requested thefirmware version, it is determined at 130 whether the user has activateda “pause” function to pause the exercise being performed. If so, aninhibit event is carried out at 132 to inhibit running of timer 36. Ifit is determined at 130 that no pause function is requested, it isdetermined at 134 that an invalid control data message was received andno action is taken. Control then passes to 136 for microprocessor 44 toawait receipt of a trigger event caused by the user operating user input32. Similarly, if no control data is received from computing unit 24,control passes to 136.

When it is determined at 136 that a trigger event has been received as aresult of the user operating user input 32, it is determined at 138whether timer 36 is running. If so, it is recorded at 140 the time“tick” when the user input is operated and a “sync” or response timedifferential number is calculated. The sync number is the interval 82-90in which the trigger occurred and the timing tick within that intervalwhen the trigger occurred. Microprocessor 44 creates information datapacket 42 which informs the computing unit 24 of the period in which thetrigger occurred, the precise tick of the trigger, and the time that thereference signal occurred. This allows the computing unit to present thereference signal to the user concurrently with operation of the userinput via audible output 50 as well as to give guidance to the userconcurrently with the trigger occurring via audible output 50 and/orvisual output 52, whether the trigger was very early, early, right on,late or very late. This is for the purpose of drawing the user operationof input 32 into synchronism with occurrences of reference signal 38.After the sync number is computed at 142, a data packet 42 is formattedand communicated at 144 to computing unit 24 over communication channel26.

Microcomputer 44 defines and operates timer 36 using a timer eventroutine 150 (FIG. 6) which begins at 152 by determining at 154 whetherthe start timer event 112 has occurred. If so, and if it is determinedat 156 that the user has not paused the exercise, a very precise clockis incremented by one tick at 158 as previously described. It isdetermined at 160 if a reference signal occurrence 80 has happened. Ifso, a data packet is created at 162 and sent to computing unit 24 at 164of the occurrence of the reference signal along with the number of thatparticular beat so that the reference signal occurrence, or beat, can bepresented to the user. If the reference signal is not occurring duringthat pass through the software, it is determined at 166 whether userinput 32 is prepared to be actuated by the user. This requirement thatthe user input 32 be ready provides a de-bounce function to ensure thatinput 32 is released each time and not held in an actuated position. Ifit is determined at 166 that a user trigger can be received, the routineaccepts a new trigger at 168 if it occurs during that pass through theroutine.

Assuming the exercise session has not ended at 170, the trigger event,if it occurs, causes the program to be interrupted and a data packet isformatted and sent to computing unit 24. The program is then resumed. Ifit is determined at 170 that a stop timer event 116 has been received,final messages are formatted at 172 and sent to the computing unit at174. The timer is stopped at 176 and the timer event exited at 178. Ifthe timer event is not started, a continuous loop from 152 to 178occurs. In the illustrated embodiment, each tick is equal to 1millisecond although a greater or lesser amount of time may be used.

Routines 100 and 150 are stored in firmware of circuit 30 so that thetiming unit is available for operation as soon as it is connected withthe USB port of computing unit 24. In the illustrated embodiment, themicroprocessor is of the type marketed by Atnel under Model No.AT91SAM7S. Of course, microprocessor 44 may be supplied from othersources or any type of programmable digital device, such as programmablegate array, integrated circuit, or the like.

While the foregoing description describes several embodiments of thepresent invention, it will be understood by those skilled in the artthat variations and modifications to these embodiments may be madewithout departing from the spirit and scope of the invention, as definedin the claims below. The present invention encompasses all combinationsof various embodiments or aspects of the invention described herein. Itis understood that any and all embodiments of the present invention maybe taken in conjunction with any other embodiment to describe additionalembodiments of the present invention. Furthermore, any elements of anembodiment may be combined with any and all other elements of any of theembodiments to describe additional embodiments.

The embodiments of the invention in which an exclusive property orprivilege is claimed are defined as follows:
 1. A timing unit for usewith a commercially available consumer device separate from said timingunit to supply to a user occurrences of a reference signal anddifferential between a trigger signal and an occurrence of saidreference signal including a performance difficulty interval into whichthe differential falls to draw the user into synchronism withoccurrences of the reference signal, said timing unit comprising: ahousing, a user input device adapted to generate a trigger signal whenactivated by a user and a circuit, said circuit and said user inputdevice housed by said housing, said circuit comprising a programmabledigital device defining a timer, a program, and a communication port,said program being responsive to said timer and said user input deviceand adapted to generate reference signal data and response timing data,said reference signal data representing periodic occurrences of areference signal generated by said timer, said response timing data madeup of a differential between a trigger signal and an occurrence of saidreference signal and which performance difficulty interval differentialfalls wherein range of the performance difficulty intervals establishedby difficulty data; and said communication port adapted to connect witha communication channel to communicating reference signal data andresponse timing data to the consumer device and receive control dataincluding difficulty data from the consumer device.
 2. The timing unitas claimed in claim 1 wherein said communication port is hard wired orwireless.
 3. The timing unit as claimed in claim 1 wherein said programhaving an interrupt generator, said interrupt generator being responsiveto the user input to interrupt the program in response to operation ofthe user input and to record a value of the timer when the triggersignal occurs, wherein said circuit formats response timing datarepresenting a relationship between the timer when the user input occursand one of the occurrences.
 4. The timing unit as claimed in claim 2wherein said circuit includes another interrupt generator that isresponsive to the timer and interrupts the program after the passage ofa defined period of time and wherein said circuit formats datarepresenting an occurrence of a reference signal in response to theanother interrupt generator.
 5. The timing unit as claimed in claim 1wherein said reference signal data and response timing data areformatted as data packets.
 6. The timing unit as claimed in claim 1wherein performance the difficulty intervals comprise an excellent band,an early band, a very early band, a late band, and a very late band. 7.The timing unit as claimed in claim 1 wherein said housing compriseshousing portions that house said circuit and said user input, whereinrelative motion between said housing portions operate said user input.8. The timing as claimed in claim 7 wherein said circuit and said userinput are on a common circuit board.
 9. The timing unit as claimed inclaim 1 wherein said programmable digital device comprises one chosenfrom a microprocessor, a programmable gate array, and an integratedcircuit.
 10. A timing system for measuring response timing, comprising:a timing unit having a housing, a user input device adapted to generatea trigger signal when activated by a user and a circuit, said circuitand said user input device housed by said housing, said circuitcomprising a programmable digital device defining a timer, a program anda communication port, said program being responsive to said timer andsaid user input device and adapted to generate reference signal data andresponse timing data, said reference signal data representing periodicoccurrences of a reference signal generated by said timer, said responsetiming data made up of a differential between a trigger signal and anoccurrence of said reference signal and which performance difficultyinterval the differential falls wherein ranges of the performancedifficulty intervals established by difficulty data; a commerciallyavailable consumer device separate from said timing unit, said consumerdevice comprising a computer and having an audible output and a visualoutput, said consumer device programmed with an application program thatis adapted to receive and decode the reference signal data and responsetiming data from said timing unit to supply to a user occurrences ofsaid reference signal and differential between a trigger signal and anoccurrence of said reference signal including which performancedifficulty interval the differential falls to draw the user intosynchronism with occurrences of the reference signal; said consumerdevice generating control data used by said program to at leastestablish a value of said difficulty data; and a communication channelbetween said communication port and said consumer device, saidcommunication channel communicating reference signal data and responsetiming data from said timing unit to said consumer device and controldata from said consumer device to said timing unit.
 11. The timingsystem as claimed in claim 10 wherein said program having an interruptgenerator, said interrupt generator being responsive to the user inputto interrupt the program in response to operation of the user input andto record a value of the timer when the trigger signal occurs, whereinsaid circuit formats response timing data representing a relationshipbetween the timer when the user input occurs and one of the occurrences.12. The timing system as claimed in claim 11 wherein said circuitincludes another interrupt generator that is responsive to the timer andinterrupts the program after the passage of a defined period of time andwherein said circuit formats data representing an occurrence of areference signal in response to the another interrupt generator.
 13. Thetiming system as claimed in claim 10 wherein said programmable digitaldevice comprises one chosen from a microprocessor, a programmable gatearray, and an integrated circuit.
 14. The timing system as claimed inclaim 10 wherein said consumer device comprises a portable consumerdevice.
 15. The timing system as claimed in claim 14 wherein saidportable consumer device comprises one chosen from a laptop personalcomputer, a tablet computer, and a data phone.
 16. The system as claimedin claim 10 wherein said reference signal data and response timing dataare formatted as data packets.
 17. The system as claimed in claim 10wherein said user application program controlling a manner in which saidat least one chosen from said audible output and said visual output isconfigured for presenting said differential and performance difficultyinterval to a user.
 18. The system as claimed in claim 10 wherein theperformance difficulty intervals comprise an excellent band, an earlyband, a very early band, a late band, and a very late band.
 19. Thesystem as claimed in claim 10 wherein said timing unit comprises ahousing having housing portions that house said circuit and said userinput, wherein relative motion between said housing portions operatesaid user input.
 20. The system as claimed in claim 19 wherein saidcircuit and said user input are on a common circuit board.
 21. A timingsystem for measuring response timing, comprising: a timing unit having ahousing, a user input device adapted to generate a trigger signal whenactivated by a user and a circuit, said circuit and said user inputdevice housed by said housing, said circuit comprising a programmabledigital device defining a timer, a program and a communication port,said program being responsive to said timer and said user input deviceand adapted to generate reference signal data and response timing data,said reference signal data representing periodic occurrences of areference signal generated by said timer, said response timing data madeup of a differential between a trigger signal and an occurrence of saidreference signal and which performance difficulty interval thedifferential falls wherein range of the performance difficulty intervalsestablished by difficulty data; a commercially available consumer deviceseparate from said timing unit, said consumer device comprising acomputer and having an audible output and a visual output, said consumerdevice programmed with an application program that is adapted to decodedata from said timing unit; said application program adapted to provideoccurrences of said reference signal with said audible output fromdecoded reference signal data; said application program adapted toprovide occurrences of said trigger signal from decoded response timingdata to at least one chosen from said audio output and a visual output,the occurrences of the trigger signal from the decoded response timingdata being a function of the differential between a trigger signal andan occurrence of said reference signal including which performancedifficulty interval the differential falls to draw a user intosynchronism with occurrences of the reference signal; said consumerdevice generating control data used by said program to establish atleast a value of said difficulty data; and a communication channelbetween said communication port and said consumer device, saidcommunication channel communicating reference signal data and responsetiming data from said timing unit to said consumer device and controldata from said consumer device to said communication port.
 22. Thetiming system as claimed in claim 21 wherein said program having aninterrupt generator, said interrupt generator being responsive to theuser input to interrupt the program in response to operation of the userinput and to record a value of the timer when the trigger signal occurs,wherein said circuit formats response timing data representing arelationship between the timer when the user input occurs and one of theoccurrences.
 23. The timing system as claimed in claim 22 wherein saidcircuit includes another interrupt generator that is responsive to thetimer and interrupts the program after the passage of a defined periodof time and wherein said circuit formats data representing an occurrenceof a reference signal in response to the another interrupt generator.24. The timing system as claimed in claim 21 wherein said programmabledigital device comprises one chosen form a microprocessor, aprogrammable gate array, and an integrated circuit.
 25. The timingsystem as claimed in claim 21 wherein said consumer device comprises aportable consumer device.
 26. The timing system as claimed in claim 25wherein said portable consumer device comprises one chosen from a laptoppersonal computer, a tablet computer, and a data phone.
 27. The timingsystem as claimed in claim 21 wherein said reference signal data andresponse timing data are formatted into data packets.
 28. The timingsystem as claimed in claim 21 wherein said user application programcontrolling a manner in which said at least one chosen from said audibleoutput and said visual output is configured for presenting saidrelationship to a user.
 29. The timing system as claimed in claim 21wherein the performance difficulty intervals comprise an excellent band,an early band, a very early band, a late band, and a very late band. 30.The timing system as claimed in claim 21 wherein said timing unitcomprises a housing having housing portions that house said circuit andsaid user input, wherein relative motion between said housing portionsoperate said user input.
 31. The timing system as claimed in claim 30wherein said circuit and said user input are on a common circuit board.